/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package occho.model;

import java.sql.SQLException;
import occho.data.OracleDAOFactory;
import occho.data.UsuarioDAO;

/**
 *
 * @author Jorge
 */
public class FachadaRegistro {
    
    private Usuario usuario = null;
    
    /**
     * Constructor de la clase
     */
    public FachadaRegistro() {
    }
    
    /**
     * Añade un usuario en la base de datos
     * @param nombre
     * @param apellidos
     * @param email
     * @param password
     * @param tipo
     * @return boolean
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public boolean registrarUsuario(String nombre, String apellidos, String email, 
        String password, String tipo) throws ClassNotFoundException, SQLException {
        this.usuario = new Usuario(nombre, apellidos, email, password, tipo);
        OracleDAOFactory daoFactory = OracleDAOFactory.getInstancia();
        UsuarioDAO usuarioDAO = daoFactory.getUsuarioDAO();
        
        boolean insertado = usuarioDAO.insertarUsuario(usuario);
        return insertado;
    }
    
    /**
     * Comprueba si existe el usuario en la base de datos
     * @param email
     * @param password
     * @return boolean
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public boolean iniciarSesion(String email, String password) throws ClassNotFoundException, SQLException {
        OracleDAOFactory daoFactory = OracleDAOFactory.getInstancia();
        UsuarioDAO usuarioDAO = daoFactory.getUsuarioDAO();
        
        usuario = usuarioDAO.seleccionarUsuario(email);
        if(usuarioDAO.estaLogueadoAlumno(email))    return false;
        if (usuario != null) {
            if (usuario.getPassword().equals(password)) {
                return true;
            }
        }
        return false;
    }
    
    /**
     * @return the usuario
     */
    public Usuario getUsuario() {
        return usuario;
    }
}
